The present invention is related to systems and methods for accessing a magnetic storage medium, and more particularly to systems and methods for detecting data patterns from a magnetic storage medium.
A read channel integrated circuit (IC) is one of the core electronic components in a magnetic recording system such as a hard disk drive. A read channel converts and encodes data to enable magnetic read heads to write data to the disk drive and then read back the data accurately. The disks in a drive typically have many tracks on them. Each track typically consists of user data sectors, as well as control or “servo” data sectors embedded between the user sectors. The servo sectors help to position the magnetic recording head on a track so that the information stored in the read sectors is retrieved properly.
FIG. 1a depicts a data format of a servo data sector 100. As shown, servo data sector 100 may include a preamble pattern 102 which allows the system to recover the timing and gain of the written servo data. Preamble pattern 102 is typically followed by a servo address mark (SAM) 104 which is the same for all servo sectors. SAM 104 is then followed by encoded servo Gray data 106, and Gray data 106 is followed by one or more burst demodulation fields 108. Gray data 106 may represent the track number/cylinder information and provides coarse positioning information for a read head traversing a magnetic storage medium. Burst demodulation field 108 provides fine positioning information for the read head traversing a magnetic storage medium. FIG. 1b shows the aforementioned servo data sector 100 incorporated as part of each of a number of tracks 160 each extending in a radial pattern around a radial magnetic storage medium 150. In an ideal case, a read head traverses an individual track over alternating servo data sectors and user data sectors.
When synchronizing to magnetic storage medium 150, data obtained using a read head traversing the medium is typically equalized to a desired target partial response by an equalizer configured as a continuous time filter (CTF) followed by a discrete-time finite impulse response (FIR) filter. In a synchronous system, the sampling of the CTF output signal uses timing information generated by a digital phase-locked loop (DPLL) locked to the symbol rate (T). The output samples of the equalizer are quantized to digital sample values (‘Y’ values) using an A/D converter (ADC). The ‘Y’ values are applied to a data detector (e.g., threshold detector or Viterbi detector). A SAM detector then searches for the SAM bit pattern in the detected data. Once SAM is detected, the Gray code decoder decodes the data following the SAM data as Gray data. The burst demodulation is timed with respect to the detected SAM data based on known lengths of the SAM and Gray data. The detected SAM data thus serves as a reference for timing of the burst demodulation operation.
FIG. 2 depicts an exemplary prior art synchronous SAM detector 200 for detecting an L-bit SAM. At every codeword boundary (i.e., at each 4T interval or boundary), the detected bit is shifted into an L-bit shift register 201 (which is initialized with L logic 1's before detection begins). The L-bits in L-bit shift register 201 are continuously compared by an L-bit comparator 203 with a copy of the known L-bit pattern [s(1) s(2) . . . s(L)] used for the SAM that is stored in an L-bit SAM register 202. If the bit patterns of L-bit shift register 201 and L-bit SAM register 202 match, then SAM detection is declared. Otherwise, the detection and shifting process continues until the SAM is found. As mentioned above, in a synchronous system, the SAM is detected using samples retimed with a recovered clock driven by a digital phase-locked loop. However, radial phase incoherence has been found to render SAM detection difficult in a synchronous system.
FIG. 3 depicts an exemplary prior art read channel 300 that provides for asynchronous SAM detection. Readback data is received by read channel 300 from, for example, a magnetic storage medium via magnetic read head (not shown) and then equalized by an equalizer 302. Equalizer 302 may include a continuous time filter (CTF) 304 followed by a discrete-time, finite impulse response (FIR) filter 306 via a switch 305. A servo waveform corresponding to an encoded servo pattern is equalized by equalizer 302. The equalized waveform is provided to an A/D converter 308 as a T-symbol-rate target-response-equalized analog signal. The digital values at the output of A/D converter 308 are referred to as the y(kT) values, where k is an integer.
The synchronous symbol-rate samples from A/D converter 308 are then interpolated using digital interpolators 312. The outputs of digital interpolators 312 are interpolated y values from y(kT+T/8) to y(kT+7T/8). The y(kT) samples from A/D converter 308 and the interpolated y values from digital interpolators 312 are provided to an asynchronous data detector 314, where the values are processed in an asynchronous manner. Of note, since interpolation typically involves the generation of estimated y values falling between two consecutive synchronous y samples, the interpolated values y(kT+T/8) to y(kT+7T/8) are generated after time (k+1)T using (at least) synchronous samples y(kT) and y((k+1)T). In addition, the output of A/D converter 308 is also provided to a burst demodulator 316. The operation of burst demodulator 316 is timed to a signal provided by an asynchronous data detector 314 indicating that the SAM data has been found. The output of asynchronous data detector 314 is commonly referred to as the “SAMFOUND” signal. When SAM data is detected by asynchronous data detector 314, a SAMFOUND signal is provided to burst demodulator 316 which includes a counter that waits a certain time (e.g., based on the amount of data between the end of SAM 104 and the beginning of burst demodulation field 108 of FIG. 1 taking into account the known processing speed of asynchronous data detector 314) from receipt of the SAMFOUND signal before starting burst demodulation. The output of burst demodulator 316 is demodulated data. The output of asynchronous data detector 314 is also provided to a block decoder 318 for decoding SAM and Gray data. The output of block decoder 318 is decoded servo SAM and Gray data.
In the aforementioned approach, a resolution of T/8 is used to provide a reasonably accurate data detection. In particular, the asynchronous best phase (with a resolution of T/8) corresponding to SAMFOUND is compared with a threshold of 3T/8 to determine whether to begin processing burst demodulation field 108 based on the timing of the current cycle or the next cycle. If the best phase is less than or equal to 3T/8, then the counter used in processing burst demodulation field 308 starts counting from the current cycle. In contrast, where the best phase is greater than 3T/8 the counter used in processing burst demodulation field 308 starts counting from the next cycle. While the aforementioned approach to data detection is reasonably accurate, it may be susceptible to catastrophic failures in certain limited instances. In particular, the SAMFOUND signal may be off by 1T when, for example, a combination of noise and an interpolation phase at or near T/4 occurs.
Hence, for at least the aforementioned reasons, there exists a need in the art for advanced systems and methods for synchronization.